Книга Рыцаря Программирования
"Если нет ветра, трава не колышется. Если нет программ, компьютер бесполезен"Так говорил Великий Программист
“К востоку от города, в живописной долине стоит огромный вычислительный центр с множеством сверхмашин”, - промолвил человек.
Мальчик заметил, что он облачен в необычные, невиданные им ранее одежды, а на голове у него находится странного вида шлем. Он никогда не встречал его раньше. “Видишь?”,- продолжил человек. “Ты пойдешь туда и расскажешь другим обо всем, что найдешь там”.
“Но как я проберусь туда?”, - спросил мальчик.
“Тебе решать”, - ответил незнакомец.
Мальчик задумался и опустил голову. Когда же он вновь поднял ее – говорившего человека уже не было.
На следующий день мальчик направился туда, куда указал ему незнакомец, однако сколь долго он не ходил в окрестностях города, он не встретил ни описанной долины, ни прочих чудес.
На следующий день он снова был за городом, ибо не верил, что такой удивительный человек мог солгать ему. Если когда-нибудь они встретятся вновь, он вправе будет сказать, что долины не видел, но зато слышал незнакомые ему таинственные звуки, приносимые откуда-то ветром.
Так прошло много месяцев, незнакомец так и не вернулся, и мальчик позабыл его; теперь он был непреложно уверен, что должен найти этот центр и разгадать его тайну. По звукам, приносимым ветром, он определит, где тот находится, и тогда проникнет в него. Он потерял интерес к школе и к тем, с кем дружил прежде. Он сделался излюбленной мишенью для насмешек и острот своих сверстников, твердивших : “Он не такой, как мы. Часами он слушает ветер, вместо того, чтобы играть с нами.”
И все потешались над ним.
Спустя десяток лет, став взрослым, мальчик вернулся в тот город, в котором вырос. Он давно оставил мысль о том, чтобы найти то, о чем ему говорил тот таинственный встреченный им много лет назад человек.
И все же ему захотелось выйти за город, послушать шум ветра. Он встал рано утром и вновь направился в том направлении, куда указал ему незнакомец.
Каково же было его удивление, когда пройдя буквально километр от своего города, он вышел на столь тщетно искомую ранее долину.
Когда он спустился в долину, глазам его предстало удивительнейшее зрелище – сотни и тысячи машин, зданий, проводов со скользящими по ними искорками света, соединяющих друг друга в нечто единое неразрывное целое. Людей здесь не было видно.
Мальчик направился вперед, с любопытством осматриваясь по сторонам. Он и не заметил, как вступил расположенный рядом с одним из самых высоких зданий на какой-то сверкающий диск – и внезапно оказался внутри. Каково же было его удивление, когда рядом с ним возник тот самый человек, что рассказал ему об этом месте.
- Что вы здесь делаете? – спросил он.
- Жду тебя, - ответил он.
Хотя минуло уже много лет, человек выглядел точно так же, как и раньше, в день их первой встречи.
Он протянул ему чистую тетрадь.
- Пиши : “В то мгновение, когда человек, решивший стать Рыцарем Программирования, делает свой первый шаг, он познает лежащий перед ним Путь”.
- А кто такой “Рыцарь Программирования?”
- Сам знаешь, - с улыбкой ответил он. Тот, кто способен постичь чудо жизни, бороться до конца за то, во что верует, и преобразить этот мир.
Он никогда не считал себя Рыцарем Программирования. А человек, похоже, прочитал его мысли, и сказал : “На это способны все. И хотя никто не считает себя Рыцарем Программирования, каждый человек может стать им.”
Мальчик проглядел страницы тетради. Человек снова улыбнулся.
“Пиши о Рыцаре Программирования”, – ответил он.
Книга Рыцаря Программирования
В то мгновение, когда человек, решивший стать Рыцарем Программирования, делает свой первый шаг, он познает лежащий перед ним Путь.
Рыцарь Программирования чтит основное положение И. Цзина: "Настойчивость полезна". Он знает, что упрямство не имеет ничего общего с настойчивостью. Ибо бывают проекты, работа над которыми длится дольше, чем это необходимо, и они истощают силы и гасят воодушевление. И в такие минуты Рыцарю приходит на ум : "Затянувшийся проект в конце концов уничтожает и пыл его работников" . И тогда он прекращает работать над программами, и дает передышку самому себе, вновь возвращаясь в мир, который другие считают единственно существующим. Но никогда не упустит он момент вдохновения, чтобы вновь продолжить свое творение.
Рыцарь Программирования знает, что иные алгоритмы имеют свойство повторяться. Часто сталкивается он с трудностями, которые некогда уже преодолевал, и оказывается в сложном положении, из которого уже выходил с честью, и это смущает его дух: ему кажется, что если все повторяется, то он топчется на одном месте, не в силах двинуться вперед.
"Я ведь уже писал это", - сетует он сердцу своему.
"Писал, - отвечает ему сердце. - Но так и не реализовал до конца свои идеи."
И Рыцарь тогда сознает, что судьба посылает ему повторение опыта с единственной целью - научить его тому, что он не пожелал усвоить сразу.
Рыцарь Программирования неизменно поступает вразрез с общепринятыми канонами программирования. С него станется оставить потайной ход в своей программе, или включить в нее "пасхальное яйцо", отстаивать алгоритм, кажущийся нелепым. Рыцарь Программирования позволяет себе такое. Он не страшится плакать, вспоминая былые неудачные проекты, или ликовать в преддверии грядущих новых. Чувствуя, что час настал, он бросает свои прошлые программы, устремляясь в новое и столь желанное творчество.
Понимая, что его способность к программированию вот-вот истощится, он выходит из-за компьютера и не винит себя за то, что просидел, кодируя, целую ночь.
Рыцарь не проводит дни свои в стремлении создать программу, которую предназначили ему другие.
Рыцари стремятся, чтобы никогда не померкла для мира полезность их программ.
Они живут в мире сем, они не чуждаются других людей. Бывает, что они пускаются в новый путь без знания нужных языков и подходов. Нередко их обуревает страх. Не всегда кодируют они правильно. Они страдают из-за пустяковых багов в собственных творениях, они бывают неспокойны и нетерпеливы, а порой им кажется, что они не способны расти. Нередко они убеждены, что недостойны похвалы за созданное ими. Не всегда уверены они в том, что же именно делают они там - в этом беспредельном мире битов и байт. Они проводят ночи без сна, страдая, что их программа может оказаться невостребованной. Вот потому они - Рыцари Программирования. Потому что ошибаются. Потому что терзают себя вопросами. Потому что ищут причину собственных ошибок, ищут и, без сомнения, когда-нибудь найдут.
Рыцарь Программирования не боится показаться безумным. Вслух и в полный голос он разговаривает сам с собой, скользя глазами по бессмысленным для непосвященных строкам текста.
Некто внушил ему, что это лучший способ найти те места в своей программе, которые следует переписать - и вот он решил проверить это на деле. Поначалу ему представляется это очень трудным. Он думает, что его код совершенен - и ему нечего изменять в нем. И все же он настаивает и упорствует, и каждый день ведет беседу с собственным разумом. И произносит то, с чем не согласен, и пишет глупости. Но вот в один прекрасный день он замечает, что код его выглядит иначе. И понимает тогда, что открыл путь для постижения Дао Программирования.
Рыцарь Программирования порой кажется сумасшедшим, но это всего лишь притворство.
"Настоящий Рыцарь Программирования сам выбирает себе то, что хочет написать", - так сказал Великий Программист.
Рыцарь знает, на что способен. Ему нет нужды хвалиться перед другими членами команды своими знаниями и талантами. Однако в любую минуту может появиться тот, кто пожелает доказать, что он – лучше. А для Рыцаря не существует понятий "лучше" или "хуже", ибо в его глазах каждый Рыцарь одарен достаточно, чтобы следовать избранной им стезей.
Но есть программисты, которых это не устраивает. Они стараются показать ему его незнание и несовершенство созданного им, вызвать его на ссору, сделать все, чтобы вывести его из себя. И в такие минуты сердце говорит ему : "Отринь оскорбление, оно не усилит твои способности. Ты лишь впустую потеряешь время, пытаясь помочь ему постигнуть Дао Программирования".
Рыцарь Программирования не тратит времени понапрасну, ибо знает : то, что должно быть написано - будет написано.
Иногда Рыцарь Программирования вспоминает слова Великого Программиста : "После трех дней без программирования жизнь становится бессмысленной."